/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pa165.dominating.species.dao;

import java.util.Collection;
import pa165.dominating.species.entities.Element;

/**
 *
 * @author Ondrej Prazak
 */
public interface ElementDao {

    /**
     * Creates an element
     *
     * @param element an element with set attributes to be created
     */
    public void createElement(Element element);

    /**
     * deletes an element
     *
     * @param element an element to be deleted
     */
    public void deleteElement(Element element);

    /**
     * get element by its id
     *
     * @param id id of an element we desire to get
     * @return element with previously specified id
     */
    public Element getElementById(Long id);

    /**
     * retrieves all elements
     *
     * @return collection of all elements
     */
    public Collection<Element> getAllElements();

    /**
     * updates specified element
     *
     * @param element element to be updated
     */
    public void updateElement(Element element);
}
